from typing import List
import SqliteHelper as sqlhp

def MedicalRecordQuery(table_name:str='medicalrecord',fields:List[str]=[],wheres:str='',limit:int=5000)->list:
    '''
        从数据库查询病案信息.
        :param table_name: str.数据库表名，默认'medicalrecord'.
        :param fields: List[str].查询字段，默认为空，表示查询所有字段。
        :param wheres: str.查询关键字，可以是姓名、身份证号、住院号、病案号等。应该是sql语句的where子句，但不包括“where”本身.
        :param limit: int.限制返回结果的数量，0表示不限制。
        :return: 返回格式[{},{}] 或 [].返回查询结果的列表。数据库查询发生异常时返回空list.
    '''
    conn = sqlhp.Connect(r'data/drg_grouper_main.db')
    try:
        ret=conn.table(table_name).where(wheres).field(*fields).find(limit)
    except Exception as e:
        ret=[]
    return ret